/**
 * 
 */
package com.eis.persist.dao;

import java.util.List;

import com.eis.admin.mvc.bean.FunctionBean;
import com.eis.exception.EisSysException;
import com.eis.persist.model.function.PersistFunctionLayoutGroup;
import com.eis.persist.model.function.PersistFunctionParameter;
import com.eis.persist.model.function.PersistFunctionType;

/**
 * @author sh-panwei01
 *
 */
public interface UserFunctionDAO {
	public List<FunctionBean> getFunctionsForList(int userBizGroupId, int pageCount, int pageRows, FunctionBean functionFilter);
	
	public List<FunctionBean> getFunctionsForBizgroupAssign(int userGroupId, int targetGroupId, FunctionBean functionFilter);
	
	public boolean assignFunction(int bizGroupId, String functionId);
	
	public boolean removeFunction(int bizGroupId, String functionId);
	
	public List<PersistFunctionType> getFunctionTypes();
	
	//public List<FunctionConnConf> getFunctionConnConfs();
	
	public boolean disableOrEnableFunctionById(int functionId, boolean active);
	
	public List<PersistFunctionLayoutGroup> getFunctionLayoutGroups(int bizsysId);
	
	public boolean addFunctionLayoutGroup(PersistFunctionLayoutGroup group) throws EisSysException;
	
	public boolean createFunction(FunctionBean functionData);
	
	public FunctionBean getFunctionforEdit(String functionId);
	
	public boolean editFunction(FunctionBean functionData);
	
	public List<PersistFunctionParameter> getFunctionPramaters(int functionDBId);
	
	public boolean saveFunctionPramaters(int functionDBId, List<PersistFunctionParameter> parameters) throws EisSysException;
}
